package com.example.model.room;

import com.example.model.BaseEntity;
import com.example.model.room_type.RoomType;
import jakarta.validation.constraints.Pattern;

public class Room extends BaseEntity {

    private Long roomId;
    @Pattern(regexp = "^\\d{3}$")
    private String roomNo;
    private RoomType roomType;

    private Long roomTypeId;
    private Integer status;  //0为可入住，1为不可入住，2为打扫中

    private  String area;//面积

    private String toward;//朝向

    private  Integer casement;//窗户数量

    private Integer floor;//楼层

    private Integer beds;//床数量

    public Room() {
    }

    public Room(Long roomId, String roomNo, RoomType roomType, Long roomTypeId, Integer status, String area, String toward, Integer window, Integer floor, Integer bed) {
        this.roomId = roomId;
        this.roomNo = roomNo;
        this.roomType = roomType;
        this.roomTypeId = roomTypeId;
        this.status = status;
        this.area = area;
        this.toward = toward;
        this.casement = window;
        this.floor = floor;
        this.beds = bed;
    }

    public Long getRoomId() {
        return roomId;
    }

    public void setRoomId(Long roomId) {
        this.roomId = roomId;
    }

    public String getRoomNo() {
        return roomNo;
    }

    public void setRoomNo(String roomNo) {
        this.roomNo = roomNo;
    }

    public RoomType getRoomType() {
        return roomType;
    }

    public void setRoomType(RoomType roomType) {
        this.roomType = roomType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getRoomTypeId() {
        return roomTypeId;
    }

    public void setRoomTypeId(Long roomTypeId) {
        this.roomTypeId = roomTypeId;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getToward() {
        return toward;
    }

    public void setToward(String toward) {
        this.toward = toward;
    }

    public Integer getCasement() {
        return casement;
    }

    public void setCasement(Integer casement) {
        this.casement = casement;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public Integer getBeds() {
        return beds;
    }

    public void setBeds(Integer beds) {
        this.beds = beds;
    }

    @Override
    public String toString() {
        return "Room{" +
                "roomId=" + roomId +
                ", roomNo='" + roomNo + '\'' +
                ", roomType=" + roomType +
                ", roomTypeId=" + roomTypeId +
                ", status=" + status +
                ", area='" + area + '\'' +
                ", toward='" + toward + '\'' +
                ", window=" + casement +
                ", floor=" + floor +
                ", bed=" + beds +
                '}';
    }
}
